package com.ruyuan.gateway.sdk.facade;

import com.ruyuan.gateway.sdk.model.AccountInfoToken;
import com.ruyuan.gateway.sdk.model.ApiAuthorizationRequireInfo;
import com.ruyuan.gateway.sdk.model.UserAccountInfo;
import com.ruyuan.gateway.sdk.model.UserAuthorities;

import java.util.List;

/**
 * @author xx
 */
public interface RuyuanGatewayFacade {

    boolean login(AccountInfoToken token);

    boolean logout();

    UserAccountInfo getCurrentUser();

    boolean reportUserAuthorities(UserAuthorities userAuthorities);

    boolean reportApiAuthorityRequirement(List<ApiAuthorizationRequireInfo> apiAuthorizationRequireInfoList);

}
